﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using Library.UI.Grid;
using QuanLyDiem.models;
using QuanLyDiem.Controllers;
using Library.UI;
using Library.UI.Form;
namespace QuanLyDiem.DanhMuc
{
    public partial class frmKhoa : DevExpress.XtraEditors.XtraForm
    {
        public frmKhoa()
        {
            InitializeComponent();
        }
        
        private void frmKhoa_Load(object sender, EventArgs e)
        {
            Context db = new Context();
            gridView1.Config(true, false, false, false, true, false, true, false, false);
            gridView1.Config2(DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.RowSelect, false, true);
            khoaBindingSource.DataSource = db.Khoas;
        }

        private void gridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
        {
            var khoa = gridView1.GetFocusedRow() as Khoa;
            if (khoa == null) return;
            txtmakhoa.Text = khoa.Ma_khoa;
            txttenkhoa.Text = khoa.Ten_khoa;
        }

        private void btnthem_Click(object sender, EventArgs e)
        {
            btnthem.Enabled = btnsua.Enabled = btnxoa.Enabled = false;
            txtmakhoa.Enabled = txttenkhoa.Enabled = true;
            txtmakhoa.Text = txttenkhoa.Text = "";
            abc = 1;
            btnthuchien.Enabled = btnhuy.Enabled = true;
    
        }
        public int abc { get; set; }
        private void btnthuchien_Click(object sender, EventArgs e)
        {
            Context db = new Context();
            if (txtmakhoa.Text == "" && txttenkhoa.Text == "" || txtmakhoa.Text == "" || txttenkhoa.Text == "")
            {
                MessageBox.Show("Bạn phải nhập đủ dữ liệu");
            }
            else
            {


                if (abc == 1)
                {
                    var rs = MessageBox.Show("Bạn có muốn thêm dữ liệu không", "Chú ý", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
                    if (rs == System.Windows.Forms.DialogResult.Yes)
                    {
                        try
                        {

                            var khoa = new Khoa()
                            {
                                Ma_khoa = txtmakhoa.Text,
                                Ten_khoa = txttenkhoa.Text
                            };
                            db.Khoas.InsertOnSubmit(khoa);
                            db.SubmitChanges();
                         
                            khoaBindingSource.DataSource = db.Khoas;
                            gridView1.BestFitAllColumns();
                            btnthem.Enabled = btnsua.Enabled = btnxoa.Enabled = true;
                            txtmakhoa.Enabled = txttenkhoa.Enabled = false;
                            btnthuchien.Enabled = btnhuy.Enabled = false;
                            MessageBox.Show("Thêm dữ liệu thành công", "Thông báo");
                        }
                        catch (Exception)
                        {
                            MessageBox.Show("Lỗi");
                        }
                    }
                        
                }
                else if (abc == 2)
                {
                    var rs = MessageBox.Show("Bạn có muốn sửa dữ liệu không", "Chú ý", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
                    if (rs == System.Windows.Forms.DialogResult.Yes)
                    {
                        try
                        {

                            var khoa = gridView1.GetFocusedRow() as Khoa;
                            khoa.Ma_khoa = txtmakhoa.Text;
                            khoa.Ten_khoa = txttenkhoa.Text;
                            var update = db.Khoas.SingleOrDefault(a => a.ID_khoa == khoa.ID_khoa);
                            update.Ma_khoa = khoa.Ma_khoa;
                            update.Ten_khoa = khoa.Ten_khoa;
                            db.SubmitChanges();
                       
                            khoaBindingSource.DataSource = db.Khoas;
                            gridView1.BestFitAllColumns();
                            MessageBox.Show("Sửa dữ liệu thành công", "Thông báo");
                            btnthem.Enabled = btnxoa.Enabled = btnsua.Enabled = true;
                            txtmakhoa.Enabled = txttenkhoa.Enabled = false;
                            btnthuchien.Enabled = btnhuy.Enabled = false;
                            
                        }
                        catch (Exception)
                        {
                            MessageBox.Show("Lỗi");
                        }
                    }
                }
            }
        }

        private void btnsua_Click(object sender, EventArgs e)
        {
            txtmakhoa.Enabled = txttenkhoa.Enabled = true;
            abc = 2;
            btnthem.Enabled = btnsua.Enabled = btnxoa.Enabled = false;
            btnthuchien.Enabled = btnhuy.Enabled = true;
    
        }

        private void btnxoa_Click(object sender, EventArgs e)
        {
            if (gridView1.FocusedRowHandle < 0) return;
            var rs = MessageBox.Show("Bạn có muốn xóa dữ liệu không", "Chú ý", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
            if (rs == System.Windows.Forms.DialogResult.Yes)
            {
                try
                {
                    Context db = new Context();
                    var khoa = gridView1.GetFocusedRow() as Khoa;
                    var delete = db.Khoas.SingleOrDefault(a => a.ID_khoa == khoa.ID_khoa);
                    db.Khoas.DeleteOnSubmit(delete);
                    db.SubmitChanges();
                    khoaBindingSource.DataSource = db.Khoas;
                    gridView1.BestFitAllColumns();
                    MessageBox.Show("Xóa dữ liệu thành công", "Thông báo");
                }
                catch (Exception)
                {
                    MessageBox.Show("Lỗi");
                }
            }

        }

        private void btnthoat_Click(object sender, EventArgs e)
        {
            Close();
        }

        //private void txtmakhoa_Validating(object sender, CancelEventArgs e)
        //{
        //    if (string.IsNullOrEmpty(txtmakhoa.Text) )
        //    {
        //        MessageBox.Show("Chưa nhập dữ liệu mã khoa");
        //        txtmakhoa.SetFocus();
        //    }
           
        //}
  
        //private void txttenkhoa_Validating(object sender, CancelEventArgs e)
        //{
        //    if (string.IsNullOrEmpty(txttenkhoa.Text))
        //    {
        //        MessageBox.Show("Chưa nhập dữ liệu tên khoa");
        //        txttenkhoa.SetFocus();
        //    }
            
        //}

        private void btnhuy_Click(object sender, EventArgs e)
        {

            var khoa = gridView1.GetFocusedRow() as Khoa;
            if (khoa == null) return;
            txtmakhoa.Text = khoa.Ma_khoa;
            txttenkhoa.Text = khoa.Ten_khoa;
            btnthem.Enabled = btnsua.Enabled = btnxoa.Enabled = true;
            txtmakhoa.Enabled = txttenkhoa.Enabled = false;
            btnhuy.Enabled = btnthuchien.Enabled = false;
        }
     
    }
}